یادداشتهای یک دانشجوی فناوری اطلاعات و ارتباطات

یادداشتهای یک دانشجوی فناوری اطلاعات و ارتباطات
مطالب - مقالات - برنامه ها و پروژه های مربوط به فناوری اطلاعات و رایانه گاها علمی و اجتماعی 
قالب وبلاگ
نويسندگان
آخرين مطالب
لینک دوستان

لینک های مفید 2


زبان ماشين

هر خانواده ای ازپردازنده ها دارای مجموعه ای از دستورالعمل های منحصر بفرد است که زبان ماشينناميده می شود. مجموعه دستورالعمل های يک پردازنده (Instruction Set) مجموعه ای ازاعداد دودوئی است که ماشين می تواند آنها را درک و اجرا کند. هر نوع CPU تنها زبانمخصوص خود را درک می کند و دارای مفسری بنام microprogram است که دستورات زبانماشين را به سيگنال های سخت افزاری تفسير و ترجمه می کند.

مثال 1. اعداددودئی زير يک دستورالعمل ماشين اينتل است که عدد 5 را در ثبات AL قرار می دهد.
1011 0000 0000 0101
مثال 2. دستورزير ثبات های EAX و EBX را جمع کرده و حاصل را در ثبات EAX ذخيره کند.
0000 0011 1100 0011

هر دستورالعمل زبانماشين شامل کد منحصر بفردی دارد که کدعملياتی (Operation Code) يا Opcode ناميده میشود. Opcode هميشه در ابتدای دستورالعمل قرار می گيرد. اکثر دستورات شامل داده همهستند که توسط دستورالعمل استفاده می شود و عملوند (Operand) نام دارند.
کاملا واضح است کهبرنامه نويسی به زبان ماشين بسيار دشوار است. درک معنی دستورالعمل های کدشده زبانماشين برای انسان کار خسته کننده ای است. خوشبختانه برای هر خانواده از پردازنده هايک زبان اسمبلی ارائه می شود که دستورالعمل های زبان ماشين را به صورت نمادی و قابلفهم تر نشان می دهند.
زبان اسمبلی چیست؟
 
پردازشگر مرکزی طوری طراحی شده است تا تنها به مجموعهدستورات خاصی که به زبان ماشین نوشته شده اند و بصورت رشته ای از اعداد باینریهستند پاسخ دهد. یک دستور از کدهای عملیات به همراه آرگومانهای یا پارامترهای آنتشکیل شده است. بعنوان مثال، عدد باینری 67099098095 ممکن است معادل درخواست عملیاتجمع ریاضی باشد که با عدد 98 نشان داده می شود که محتویات حافظه در آدرس 670 را بامحتویات حافظه در آدرس 990 جمع می کند و نتیجه را در آدرس 095 قرار میدهد.
زبانهای سمبولیک
زبانهای سمبولیک از کلمات به جای کدهای عملیاتیاستفاده می کنند و به عملیات، با عبارات سمبولیک نظیر add اشاره می کنند. یک دستوردر سطح پایین ترین زبان برنامه نویسی سمبولیک، زبان اسمبلی نامیده می شود که بهتوسط برنامه ای مترجم به نام اسمبلر به زبان ماشین (کد هدف) ترجمه خواهد شد. دستورات در یک زبان اسمبلی شامل بارگذاری متغیرها از مکانی در حافظه یا برعکس قراردادن محتویات متغیرها در مکان خاصی در حافظه می باشد. تناظر میان دستورات زباناسمبلی و دستورات زبان ماشین، تناظری یک به یک است: هر فرمان، توسط یک دستور پیادهسازی می شود. زبان اسمبلی، سطح پایین ترین محاوره قابل فهم را میان خود و یک انساندارد.

نمونه ای ازیک دستور در زبان اسمبلی: mov b2, 3Ah، که به معنای "مقدار 3A را به رجیستر b2 در پردازشگر انتقال بده". کد اسمبلی برای پیاده سازیالگوریتم bubble-sort که اعضا یا اسامی را در یک لیست مرتب می کند به قرار زیراست
 
bs proc array:DWORD,len:DWORD
     mov ecx, len
     mov edx, array
bs_o:
     xor ebp, ebp
     bs_i:
     mov eax, DWORD PTR [edx+ebp*4+4]
     cmp DWORD PTR [edx+ebp*4], eax
     jb @F
     xchg eax, DWORD PTR [edx+ebp*4]
     mov DWORD PTR [edx+ebp*4+4], eax
@@:
     add ebp,1
     cmp ebp, ecx
     jb bs_i
     loop bs_o
     pop ebp
     retn 8
bs endp


 
مرجع: http://www.codecodex.com/wiki/index.php?title=Bubble_sort

سعی کنید تا به یکی از خویشاوندان خود این کد را توضیح دهید. زبان اسمبلیزبان عجیبی غریبی است. حداقل چیزی که در مورد این زبان می توان گفت همین است. همچنین باگ زدایی از آن کاری بغایت سخت می باشد. امروزه، زبان برنامه نویسی اسمبلی،برای نوشتن BIOS، درایور سخت افزارها، و یا در تلویزیونها امروزی بعنوان برنامهمنوها و غیره مورد استفاده قرار می گیرد.

بسیار راحت تر خواهد بود تا اززبانهای سمبولیک سطح بالا که از کلمات انگلیسی و علائم ریاضی استفاده می کنند، برایبرنامه نویسی استفاده شوند. بعنوان مثال:
  • زبان بیسیک که در اواسط دهه 60 میلادی طراحی شد وهنوز هم از ان استفاده می شود.
  • FORTRAN افسانه ای (به معنای مترجم فرمول) که دراواسط دهه 50 میلادی طراحی شد و هنوز هم استفاده هایی دارد.
  • پاسکال، ظهور آن اوایل دهه 70 میلادی بود.
  • زبان C که در اواسط دهه 70 بوجود آمد.
  • زبان C++ که در اواسط دهه 80 میلادی ساختهشد.
زبان های برنامه نویسی دیگری نیز برای استفاده درساخت برنامه های کاربردی بوجود آمده اند که از ذکر آنها در اینجا خود داری می کنیم. از آنجاییکه زبانهای برنامه نویسی C و C++ اجازه دستکاری در بیتها، بایتها وآدرسهای حافظه را می دهند، به آنها زبانهای برنامه نویسی سطح متوسط اطلاق می شود. رتبه بندی زبان های برنامه نویسی از نظر کارایی و راحتی، می تواند موضوع بحث بزرگیباشد.

در یک زبان برنامه نویسی سمبولیک، عباراتی نظیر A=A+B به چشم می خورندکه به معنای افزودن B به A است. پردازشگر این کار را از طریق چند گام انجام میدهد:
  • محتویات باینری A را از RAM بردار و آن را درونرجیستر R1 در پردازشگر کپی کن.
  • محتویات باینری B را از RAM بردار و آن را درونرجیستر R2 در پردازشگر کپی کن.
  • محتویات R1 و R2 را در Adder کپی کن و عملیات جمع راانجام بده و حاصل را در R3 قرار بده.
  • محتویات R3 را به آدرس A در RAM کپی کن.
  • مشاهده می کنیم که تناظر یک دستور زبان سطح بالا بهدستورات زبان ماشین، تناظری یک به چند است. این به معنای آن است که هر دستور زبانبرنامه نویسی سطح بالا، با چندین دستور زبان ماشین پیاده سازی میشوند.
 

سیستم باینری چیست؟

اجازه دهید تصور کنیم که کامپیوترها هنوز اختراع نشده اند و راه هایی را بررسی کنیم که اطلاعات را بتوان با استفاده از پروتکلهای رمز گذاری، ذخیره و مخابره کرد.

در ساده ترین روش، پرچمی با دو روی سفید و سیاه به ذهنمان می رسد که جهت سفید و سیاه پرچم به هر تعداد دلخواهی نوسان می کند تا اطلاعات ضروری در ارسال پیام را به شکل مورس مخابره نماید. ذخیره سازی متوالی علانم، بیانگر رشته ای باینری از اعداد 0 و 1 است که صفر بیانگر سفید و 1 بیانگر سیاه است.

در نتیجه سیستم باینری چهارچوب کاری را به ما خواهد داد تا بتوانیم اعداد را بصورت رشته ای از 0ها و 1 ها نمایش دهیم. به محض اینکه دریافتیم چگونه اعداد را دستکاری کنیم، می توانیم حروف الفبا را نیز مدیریت کنیم. به این ترتیب که به هر حرف کد عددی را نسبت می دهیم. رشته هایی از حروف، کلمات را تشکیل می دهند و رشته هایی از کلمات جملات، دستورات و نتیجه گیریهایی را تشکیل می دهند که می توانند درست یا غلط باشند. در نتیجه یک سیستم جامع ممکن است با استفاده از آشنایی با این مفهوم، به این فرم باینری نمایش داده شود.
 
 

++C چیست؟

زبان برنامه نویسی C++ در سال 1985 توسط Bjarne Stroustup در آزمایشگاه AT&T بعنوان توسعه ای بر زبان C بوجود آمد. افزونه هایی که بر این زبان اضافه شده بودند، از زبان Simula گرفته شده بودند. از آن زمان تا کنون، C++، با سرعت زیادی در راستای نیازهای عملی برای یک زبان برنامه نویسی رو به رشد است، نیازهایی که یک زبان برنامه نویسی را قادر می سازد تا بطور موثری انواع مختلفی از داده ها را در کنار یکدیگر مدیریت نماید. محور اصلی در پیاده سازی این زبان برنامه نویسی، مفهوم برنامه نویسی شی گرا است (OOP). امروزه، C++ بازار تجاری را در اختیار خود گرفته است بطوریکه این زبان برنامه نویسی، هم برای برنامه نویسان سیستم های عامل و هم برای برنامه نویسان نرم افزارهای کاربردی، مورد پسند می باشد.

 

برنامه نویسی شی گرا

برای آنکه مزیتهای یک زبان برنامه نویسی شی گرا را با یک زبان برنامه نویسی ساختاری نظیر MATLAB، FORTRAN 77، یا C نشان دهیم، فرض می کنیم که یک رقیب ورزشی بین المللی، به جمع دوندگانی از سراسر دنیا ملحق شده است. رکورد هر یک از دوندگان، تشکیل شده است از چندین فیلد شامل نام، کشور، شهر زادگاه، زمان تولد، و بهترین رکورد زمانی.

در یک زبان ساختاری، هر یک از این فیلدها در یک بردار داده ای جداگانه ذخیره خواهند شد. ولی در یک زبان برنامه شی گرا، هر دونده، تبدیل به شی ای خواهد شد که به عنوان عضوی از کلاس دونده ها تعریف می شود و هر عضو با مجموعه ای از این فیلدها توصیف خواهد شد. این روش به ما این امکان را می دهد تا ذخیره سازی، فراخوانی و ویرایش را به هر روش دلخواهی بر روی داده های شخصی هر دونده با استفاده از اپراتورهای سمبولیک ساده انجام دهیم. کلاسهای زیر مجموعه، تشکیل می شوند از بعنوان مثال دوندگانی از یک کشور خاص که به نحوی تعریف می شوند که می توانند به سادگی جزییات بیشتری را از دوندگان ارائه دهد.

یک زبان شی گرای OPP به ما این امکان را می دهد تا انواع داده های مورد نیاز خود را بصورت یک شی در یک کلاس تعریف کنیم و سپس از آن کلاس به عنوان سنگ بنای توسعه بیشتر استفاده نماییم. این انعطاف پذیری اساسا به ما این امکان را می دهد تا زبانی را بسازیم بدون آنکه کامپایلر آن را نوشته باشیم. با این دید، یک زبان شی گرا یا OPP زبان فوق العاده پیشرفته ای می باشد.

 

C و ++C

C++ بسط یافته زبان برنامه نویسی C است ولی اهدافی والاتر از C را پوشش می دهد بطوریکه باید بعنوان یک زبان مجزا تدریس و آموزش داده شود. لازم به ذکر است که در این مجموعه آموزشی، نیازی به یادگیری زبان C بعنوان پیش نیاز یادگیری C++ نمی باشد اگرچه یاد گرفتن آن می تواند مفید و کمک کننده باشد.

 

کامپایل و تولید فایل اجرایی

برای نوشتن دستورات به یک زبان سطح متوسط، در ابتدا نیاز داریم تا یک یا چند فایل که توصیف کننده برنامه اصلی، سابروتین ها و داده های مورد نیاز است را تولید کنیم. فایلها با استفاده از یک ویرایشگرهای متنی یا هر ویرایشگر دیگری می توانند تولید شوند. این فایلها، تشکیل دهنده سورس کد برنامه می باشند.

سپس، برنامه و تمامی سابروتین های آن را با استفاده از کامپایلر همان زبان، کامپایل می کنیم تا کد هدف هر فایل تولید شود. کد هدف، ترجمه ای از سورس برنامه به زبان ماشین است که می تواند با پردازشگر صحبت نماید. کامپایلز اساسا آدرس های حافظه مورد نیاز را به متغیرها تخصیص می دهد و عملوندهای ریاضی و منطقی را به دستورات زبان ماشین ترجمه می کند. خود کامپایلر، فایل اجرایی می باشد که در پوشه ای نصب شده است و می بایست در مسیر دایرکتوری فایل اجرایی کاربر قرار داشته باشد. تفاوت اصلی میان یک کامپایلر و یک اسمبلر آن است که کامپایلر ساختارهای منطفی را درک می کند درحالیکه اسمبلر تنها ترجمه ای کور کورانه را انجام می دهد.

در مرحله بعدی، کدهای هدف را با فایل های باینری مورد نیاز دیگری که برنامه به آنها نیاز دارد، پیوند می زنیم تا فایل اجرایی نهایی تولید شود. فایلهای کتابخانه ها ممکن است شامل توابع ریاضی، ابزارهای گرافیکی و رابطهای گرافیکی کاربر باشند که به برنامه اجازه می دهند تا به خودی خود روی کامپیوتر اجرا شود. برخی از کامپایلرها، لینکرهای خود را دارند و برخی دیگر از کامپایلرها از لینکرهایی استفاده می کنند که توسط سیستم عامل ارائه شده اند.

در پایان، فایل اجرایی را در حافظه بارگذاری می کنیم و آن را اجرا می کنیم. در این مرحله، وجود کامپایلر ضروری نیست. از آنجاییکه پردازشگرهای مختلف، زبانهای ماشین متفاوتی دارند، فایل اجرایی تولید شده روی یک پردازشکر، لزوما در پردازشگر دیگر کار نخواهد کرد. علاوه بر اینکه، فایلهای هدف، لزوما قابل استفاده در نسخه های مختلف یک سیستم عامل یا سخت افزارهای مختلف نیستند.

کامپایلرهای برخی از زبانهای برنامه نویسی، بایت کدهایی تولید می کنند که در سیستم های مختلف قابل استفاده است. بایت کدها مجددا به زبان ماشین ترجمه می شوند یا مستقیما توسط مفسرهایی اجرا می شوند.

درحالیکه اینها قوانین عمومی هستند که ما آنها را خاطر نشان کردیم، ولی استثناهایی نیز وجود دارد. برنامه ای نوشته شده به نسخه ای استاندارد از زبان بیسیک یا MATLAB، کامپایل می شود یا دقیقتر بگوییم خط به خط تفسیر و اجرا می شوند. در نتیجه وجود کامپایلر یا مفسر، برای اجرای اجرا یا تولید یک فایل اجرایی ضروری است. یک برنامه باگ دار که توسط مفسر اجرا شده است ممکن است کار کند تا موقعی که به باگ بر خورد کند درحالیکه یک برنامه باگ دار توسط کامپایلر، کامپایل نخواهد شد. کدهای اجرایی، بسیار سریعتر از برنامه هایی اجرا می شوند که توسط مفسر اجرا می شوند.

 

فایلهای داده ها

پارامترهای عددی و دیگر داده ها می توانند در فایلهای مجزایی قرار داده شوند که به آنها فایلهای داده یا فایل های پیکربندی اطلاق می شود. همچنین این فایل ها می توانند توسط کاربر و از طریق صفحه کلید در هنگام اجرای برنامه داده شوند. فایل های داده معمولا با پسوند dat. مشخص می شوند و فایل های پیکربندی معمولا با پسوند conf.

 

Cygwin چیست؟

یک برنامه نویس ++C بدون تجربه در زمینه Unix، از بسیاری جهات، ناپخته است. انواع مختلفی از سیستم عامل یونیکس در اینترنت بصورت رایگان موجود است و می توانند بسادگی بصورت مجزا یا در مد بوت دوگانه به همراه ویندوز بر روی لپ تاپ ها و کامپیوترهای خانگی نصب شوند. Fedora Core، CentOs، و BSD مثالهایی از این سیستم عامل هستند.

 

Cygwin برای کاربران ویندوز

بسته نرم افزاری cygwin، به کاربران ویندوز این امکان را می دهد تا از محیط Unix در محیط ویندوز استفاده کنند و از کتابخانه های یونیکس و برنامه های آن در محیط ویندوز استفاده نمایند. Cygwin، بطور موثر کامپیوتری می سازد که بر روی کامپیوتر شما تحت سیستم عامل ویندوز در حال اجرا است. برای مجزا کردن این دو سیستم عامل از هم، به سیستم عامل یونیکس، "محیط" خواهیم گفت. کاربران MATLAB با مفهوم یک محیط محاسباتی آشنایی دارند. cygwin نام خود را از سه جزء گرفته است:
 

  • 1. Gnu: مخفف عبارت "Gnu's Not Unix" است یعنی GNU یونیکس نیست. GNU سیستم عاملی رایگان است که از هسته kernel، ابزارهای سیستمی، کامپایلرها، و برنامه های کاربردی تشکیل شده است. توسعه این سیستم عامل در سال 1983 نوسط ریچارد استالمن اعلام شد.
  • 2. Cygnus: نام یک پرنده زیبا است.
  • 3. Windows: سیستم عاملی که توسط شرکت مایکروسافت تولید شد.

بسته cygwin می تواند بسادگی و بصورت کاملا رایگان از اینترنت دانلود و نصب شود. آدرس سایت دانلود http://www.cygwin.com است. این بسته شامل برنامه ها و ابزارهای گرانبهایی است که شامل کتابخانه گرافیک X11 و یک کامپایلر C++ است.

 

فایل های باینری اجرایی

دستورات یا برنامه های هر کامپیوتری، به شکل فایلی باینری و قابل اجرا می باشند که دستورات زبان ماشین را بصورت رمز در خود جا داده است. این فایلها با فراخوانی یا تایپ نام برنامه و سپس با زدن کلید ENTER، یا در یک محیط بصری با کلیک کردن روی آیکون آن، در حافظه رم بارگذاری می شود. برای یافتن فایل باینری مشخص شده، سیستم عامل از طریق مسیر دایرکتوری مشخص شده و همچنین دایرکتوری هایی که کاربر آنها را تعیین کرده است، به دنبال فایل اجرایی مورد نظر می گردد.

سیکل اجرای دستورات که به آن سیکل فراخوانی-رمزگشایی-اجرا نیز گفته می شود (FDX)، توصیف کننده زمان مورد نیازی است که هر دستور نوشته شده به زبان ماشین لازم دارد تا از حافظه رم خوانده شود، رمز گشایی شود و سپس توسط پردازگر اجرا شود.
 

سیستم عامل چیست؟

مهمترین برنامه ای که در یک کامپیوتر وجود دارد، سیستم عامل است (OS). یک سیستم عامل، برنامه ای است که توسط زبان در سطح متوسط نظیر C یا ++C نوشته شده است که توابع و پارامترهایی را تجویز می کنذ که به کامپیوتر خواهد گفت چگونه اجرای فیزیکی خودش را درون واحدهای منطقی، سازماندهی کند، حافظه را مدیریت کند و با محیط بیرونی و کاربران کامپیوتر، تعامل بر قرار کند.

مثالهایی از سیستم های عامل شامل سیستم یونیکس و نسخه های متعدد آن، سیستم عامل ویندوز و سیستم عامل Mac می باشد. زمانیکه کامپیوتری در حال بالا آمدن است، در ابتدا سیستم عامل را از دیسک، به حافظه بارگذاری می می کند. سیستم عامل می تواند درون هارد دیسک، یا یک CD-ROM یا هر وسیله الکترونیکی دیگری قرار داشته باشد.

فلب اصلی سیستم های عامل، kernel است. Kernel یونیکس، بخش بسیار کوچکی از سیستم عامل یونیکس را تشکیل می دهد که این امکان را می دهد تا از یونیکس در بسیاری از کامپیوترها استفاده شود (از کامپیوترهای خانگی با لینوکس گرفته تا ابر کامپیوتر هایی با UNICOS). چنانچه جایی از کار سیستم عامل به مشکل حادی برخورد کند، سیستم عامل به حالت ترس خود خواهد رفت. در اصطلاح گفته می شود که سیستم عامل هنگ کرده است.

 

رم چیست؟ (RAM)

حافظه با قابلیت دسترسی تصادفی (یا اصطلاحا RAM)، بانکی از حافظه اولیه است. نام رم منعکس کننده توانایی در دسترسی به هر آدرسی در حافظه با زمان دسترسی تقریبا یکسان است و این زمان دسترسی، مستقل از آدرس آخرین مکانی از حافظه است که آخرین بار دسترسی به آن صورت گرفته است، بر خلاف اطلاعات ذخیره شده در وسایل خارجی نظیر هارد دیسک یا یک CD-ROM که دسترسی به اطلاعات بصورت ترتیبی بوده و زمان دسترسی متناسب با آخرین مکانی از حافظه خواهد بود که آخرین بار مورد دسترسی قرار گرفته است.

معمولا به RAM، حافظه سیستم یا حافظه داخلی نیز اطلاق می شود. ورودی توسط CPU و از طریق آدرس باس و کنترل باس، ارسال می شود و اطلاعات بازگردانده شده، از طریق دیتا باس، برگردانده می شوند. حافظه رم، غیر دائمی و فرار است. چنانچه کامپیوتر خود را خاموش کنید، اطلاعات نیز از بین خواهند رفت. سلولهای رم، در واحد رم با معماریهای مختلفی سازماندهی شده اند.

جالب است بدانید RAM با رجیسترهای CPU که درون خود پردازشگر قرار دارند، متفاوت می باشد. زبان ++C به هر دوی این اطلاعات، دسترسی دارد.
 

حافظه ROM چیست؟

بخش کوچکی از حافظه در کامپیوترها بعنوان حاقظه ای فقط خواندنی در نظر گرفته شده اند (ROM) به این معنی که اطلاعات می توانند خوانده شوند ولی نمی توانند ویرایش شوند. مشابه RAM، آدرسهای ROM می توانند با همان زمان دسترسی در RAM ها در دسترس قرار گیرند. بسیاری از وسایل الکتریکی نظیر ماشین حسابهای دستی و ساعت ها، از ROM استفاده می کنند. در یک کامپیوتر، ROM برای ذخیره سازی ورودی/خروجی های سیستم عامل (BIOS)، مورد استفاده قرار می گیرد. از آنجاییکه اطلاعات ذخیره شده در ROM، قابلیت تغییر را ندارند، در نتیجه محتویات BIOS نمی تواند بروز رسانی شود.

حافظه فقط خواندنی قابل برنامه ریزی (PROM)، به ما این امکان را می دهد تا اطلاعات مورد نیاز خود را پس از ساخت در آن قرار دهیم. در ROMهای قابل برنامه ریزی و قابل پاک شدن (EPROM)، داده ها می توانند پاک شوند و مجددا توسط نور اشعه ماورای بنفش خاصی (UV)، سوزانده شوند. در ROMهای قابل برنامه ریزی پاک شونده بصورت الکتریکی (EEPROM)، داده ها می توانند توسط روشهای الکترونیکی مناسبی پاک شوند. سخت افزارهای مدرن امروزی، از BIOSهای فلش قابل ارتقا در فرم EEPROM استفاده می کنند.
 

CPU چیست؟

هسته اصلی سخت افزار کامپپیوتر، پردازشگر مرکزی می باشد که بر روی مادر برد قرار داده شده است. جزء اصلی یک پردازشگر، مایکرو چیپی است که با تکنولوژی مدارات مجتمع فشرده ساخته شده است و واحد پردازشگر مرکزی یک میکرو پروسسور نامیده می شود (CPU). CPU ها امروزه شامل بیش از 50 میلیون ترانزیستور می باشند. وظیفه آنها، انجام محاسبات عددی و انجام تصمیم گیریهای منطقی است که در مجموع به آنها عملیات گفته می شود. واحد کنترل (CU) یک CPU، دستورات را تفسیر و به آنها الویت می دهد و واحد منطق ریاضی (ALU)، دستورات را اجرا خواهد کرد.

یک میکروپروسسور، می تواند توسط فرکانس ساعت آن یا نرخ ساعت آن، ارزش گذاری شود. این عدد، فرکانس نوسان کریستالهای داخلی یک مایکرو پروسسور است که بصورت عددی از تعداد سیکل ها در ثانیه (هرتز یا بطور اختصار Hz) بیان می شود. مایکرو پروسسورهای امروزی، نرخ نوسانی در حد چند گیگا هرتز دارند. این به معنای آن است که چند تریلیون سیکل در ثانیه است. نرخ ساعت، زمان پالس مدارات کامپیوتر است که بیانگر بالاترین حد ایده آل قابل حصولی است که کامپیوتر می تواند اطلاعات را پردازش و یا دستوری را اجرا نماید. نرخ ساعت می تواند با ضربان قلب یک موجود زنده مقایسه شود. هر چند، نرخ ساعت، تنها وقتی مقیاسی معنادار از کارایی یک پردازشگر است که بخواهید پردازشگرهای یک شرکت سازنده را بر روی یک سخت افزار آزمایش نمایید.

CPU قادر است تا داده ها را از بانک های خارجی حافظه دریافت کند، آنها را توسط اجرای دستورات ویرایش کند و سپس نتایج را دوباره به بانک داده ها باز گرداند. اطلاعات گذرا در واحد حافظه محلی با راندمانی فوق العاده بالا نگهداری می شوند که به آنها رجیستر اطلاق می شود. CPU با وسایل دیگر از طریق خطوط باس (bus) تبادل اطلاعات می کند.


 


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:





[ یک شنبه 15 / 10 / 1391برچسب:, ] [ 10:39 ] [ کاوه حق پناه ]
.: Weblog By KMF :.

درباره وبلاگ

این وبلاگ صرفا جهت علاقمندان به فناوری اطلاعات و رایانه و انجام امور مربوط به دروس و پروژه ها میباشد. (البته شایدم یکمی بیشتر). البته ناگفته نمونه که علاوه بر مطالب عنوان شده ، مطالبی نیز در باب اجتماعی و فرهنگی و هنری و گاها نیمه 30یا30 که پیگرد نداشته باشه :) جهت اطلاع و آگاهی شما عزیزان گذاشته شده. همه مطالب متعلق به بنده نبوده و بعضآ توسط ساير دوستان و اون دسته عزیزانیه که مطالبشون موجوده و نتونستم منبعش رو پیدا کنم، ارائه ميشه. شما نيز چنانچه تمايل به ارسال مطلبی داشته باشيد،با كمال مسرت آنرا با نام خودتان در وبلاگ منتشر ميكنم. تاریخ تاسیس: 20 مهر 1390 ارادتمند شما: کاوه حق پناه
موضوعات وب
1 لینک های مفید
Google

در اين وبلاگ
در كل اينترنت

امکانات وب
Online User